package com.faya.green.service;

import com.faya.green.model.Role;

import javax.servlet.http.HttpServletRequest;
import java.util.List;

/**
 * @author ：LX
 * 创建时间： 2018/8/24. 23:57
 * 地点：广州
 * 目的: 角色
 * 备注说明：
 */
public interface RoleService {

    /**
     * 添加一个角色
     * @param role 角色
     */
    void addRole(Role role);

    /**
     * 更新一个角色
     * @param role 角色
     */
    void updateRole(Role role);

    /**
     * 根据主键查询一个角色
     * @param id 角色主键
     * @return
     */
    Role getRoleById(String id);

    /**
     * 获取全部角色
     * @return
     */
    List<Role> getRoleList();

    /**
     * 删除角色（逻辑删除）
     * @param roleId 角色id
     */
    void delLogicRole(String roleId);

    /**
     * 新增或修改角色
     * @param role 角色
     * @param authorArr 权限数组
     */
    void addOrUpdRole(Role role, String[] authorArr);

    /**
     * 根据创建人用户ID 查询角色
     * @param createUser 创建人用户ID
     * @return
     */
    List<Role> getRoleByUserId(String createUser);


    /**
     * 获取用户拥有的角色
     * @param userId 用户id
     * @return
     */
    List<Role> getUserByRole(String userId);

    /**
     * 获取用户拥有的角色和创建的角色
     * @param userId 用户ID
     * @return
     */
    List<Role> getUserByRoleCreatRole(String userId);
}
